Operating System (OS) fingerprinting is the procedure of determining the operating system of any IP based system. This can be accomplished passively by “sniffing” (analyzing and intercepting passing log traffic) of network packets traveling between hosts, actively by sending carefully crafted packets to the target machine and analyzing the response, or through non-technical means. OS fingerprinting is typically used by security professionals (known as “white-hats”) and hackers (known as “black-hats”) alike for mapping of remote networks and determination of vulnerabilities that might be present to exploit.
Remote OS fingerprinting is a recent development, with the ability to remotely determine with high accuracy, the operating system of a any IP based system. The implications of this technology are perhaps not yet fully understood; however, it is seen as enough of a threat that strategies are currently being developed to prevent and spoof OS fingerprints.
The ease with which exploit tools can be scripted and used en masse to find vulnerable hosts largely trivializes the benefits of OS obscurity in today's world. This may change over the coming years as the larger software companies put an emphasis on network security and more specialized attacks are required to exploit systems. The general trend towards increasing penalties for getting caught as the world's cyber laws improve may also serve as a driver towards more refined attacks in the future.
The following is an overview of different approaches to OS fingerprinting, and some currently available tools: